
package com.imcparts.schema;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>Java class for SubmitOrderType complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="SubmitOrderType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="VersionId" type="{http://www.imcparts.com/schema}versionId"/>
 *         &lt;element name="AccountNumber" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="OrderComment" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="ShipVia" type="{http://www.imcparts.com/schema}shipVia"/>
 *         &lt;element name="Warehouse" type="{http://www.imcparts.com/schema}warehouse"/>
 *         &lt;element name="PONumber" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DropshipName" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DropshipAddress1" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DropshipAddress2" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DropshipAddress3" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DropshipCity" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DropshipState" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="DropshipZip" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="OrderItem" type="{http://www.imcparts.com/schema}OrderItemDetailType" maxOccurs="unbounded"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "SubmitOrderType", propOrder = {
    "versionId",
    "accountNumber",
    "orderComment",
    "shipVia",
    "warehouse",
    "poNumber",
    "dropshipName",
    "dropshipAddress1",
    "dropshipAddress2",
    "dropshipAddress3",
    "dropshipCity",
    "dropshipState",
    "dropshipZip",
    "orderItem"
})
public class SubmitOrderType {

    @XmlElement(name = "VersionId", required = true)
    protected String versionId;
    @XmlElement(name = "AccountNumber", required = true)
    protected String accountNumber;
    @XmlElement(name = "OrderComment", required = true)
    protected String orderComment;
    @XmlElement(name = "ShipVia", required = true)
    protected String shipVia;
    @XmlElement(name = "Warehouse", required = true)
    protected String warehouse;
    @XmlElement(name = "PONumber", required = true)
    protected String poNumber;
    @XmlElement(name = "DropshipName", required = true)
    protected String dropshipName;
    @XmlElement(name = "DropshipAddress1", required = true)
    protected String dropshipAddress1;
    @XmlElement(name = "DropshipAddress2", required = true)
    protected String dropshipAddress2;
    @XmlElement(name = "DropshipAddress3", required = true)
    protected String dropshipAddress3;
    @XmlElement(name = "DropshipCity", required = true)
    protected String dropshipCity;
    @XmlElement(name = "DropshipState", required = true)
    protected String dropshipState;
    @XmlElement(name = "DropshipZip", required = true)
    protected String dropshipZip;
    @XmlElement(name = "OrderItem", required = true)
    protected List<OrderItemDetailType> orderItem;

    /**
     * Gets the value of the versionId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVersionId() {
        return versionId;
    }

    /**
     * Sets the value of the versionId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVersionId(String value) {
        this.versionId = value;
    }

    /**
     * Gets the value of the accountNumber property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAccountNumber() {
        return accountNumber;
    }

    /**
     * Sets the value of the accountNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAccountNumber(String value) {
        this.accountNumber = value;
    }

    /**
     * Gets the value of the orderComment property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOrderComment() {
        return orderComment;
    }

    /**
     * Sets the value of the orderComment property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOrderComment(String value) {
        this.orderComment = value;
    }

    /**
     * Gets the value of the shipVia property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getShipVia() {
        return shipVia;
    }

    /**
     * Sets the value of the shipVia property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setShipVia(String value) {
        this.shipVia = value;
    }

    /**
     * Gets the value of the warehouse property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getWarehouse() {
        return warehouse;
    }

    /**
     * Sets the value of the warehouse property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setWarehouse(String value) {
        this.warehouse = value;
    }

    /**
     * Gets the value of the poNumber property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPONumber() {
        return poNumber;
    }

    /**
     * Sets the value of the poNumber property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPONumber(String value) {
        this.poNumber = value;
    }

    /**
     * Gets the value of the dropshipName property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDropshipName() {
        return dropshipName;
    }

    /**
     * Sets the value of the dropshipName property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDropshipName(String value) {
        this.dropshipName = value;
    }

    /**
     * Gets the value of the dropshipAddress1 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDropshipAddress1() {
        return dropshipAddress1;
    }

    /**
     * Sets the value of the dropshipAddress1 property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDropshipAddress1(String value) {
        this.dropshipAddress1 = value;
    }

    /**
     * Gets the value of the dropshipAddress2 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDropshipAddress2() {
        return dropshipAddress2;
    }

    /**
     * Sets the value of the dropshipAddress2 property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDropshipAddress2(String value) {
        this.dropshipAddress2 = value;
    }

    /**
     * Gets the value of the dropshipAddress3 property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDropshipAddress3() {
        return dropshipAddress3;
    }

    /**
     * Sets the value of the dropshipAddress3 property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDropshipAddress3(String value) {
        this.dropshipAddress3 = value;
    }

    /**
     * Gets the value of the dropshipCity property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDropshipCity() {
        return dropshipCity;
    }

    /**
     * Sets the value of the dropshipCity property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDropshipCity(String value) {
        this.dropshipCity = value;
    }

    /**
     * Gets the value of the dropshipState property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDropshipState() {
        return dropshipState;
    }

    /**
     * Sets the value of the dropshipState property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDropshipState(String value) {
        this.dropshipState = value;
    }

    /**
     * Gets the value of the dropshipZip property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDropshipZip() {
        return dropshipZip;
    }

    /**
     * Sets the value of the dropshipZip property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDropshipZip(String value) {
        this.dropshipZip = value;
    }

    /**
     * Gets the value of the orderItem property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the orderItem property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getOrderItem().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link OrderItemDetailType }
     * 
     * 
     */
    public List<OrderItemDetailType> getOrderItem() {
        if (orderItem == null) {
            orderItem = new ArrayList<OrderItemDetailType>();
        }
        return this.orderItem;
    }

}
